In battery-powered systems, such as laptop computers, PDAs, MP3 players, etc., a source of input current supplies current to power the application and, at the same time, charge the battery. Power management systems receiving an unlimited source of input current, such as would be obtained from a wall socket (“wall wart”), generally implement charge timers programmed to be at a prescribed, fixed amount of time, set by the designer as a function of the charge current and battery capacity. This design has been appropriate in unlimited current source systems because charge current magnitude is maintained constant throughout the charge cycle until the charger enters voltage mode charging when the battery is nearly fully charged.
However, in chargers that receive power from a current constrained source, such as a USB port powering an application load at the same time, the magnitude of current available to charge the battery may not be as programmed. In this case, the battery charge current will be less than the programmed magnitude so that the load receives sufficient current for powering the load without exceeding the current capacity of the USB port. When the battery is not receiving its full charge current, the fixed period timer will tend to time out before the battery is fully charged.
It would be desirable to implement variable timing so as to increase the period of battery charging when there is a decrease of charging current, in order to ensure that the battery will achieve full charge. However, fixed period charging should be maintained when the battery is in its constant voltage mode of charging.